﻿package fpc.layouts;
import fpc.utils.Herald;

interface ILayout 
{
	var heraldAddChild(default, null):Herald<ILayoutable>;
	
	var heraldRemoveChild(default, null):Herald<ILayoutable>;
	
	var heraldChange(default, null):Herald<ILayout>;
	
	function arrange():Void;
	
	function removeAll():Void;
	
	function iterator():Iterator<ILayoutable>;
	
	public var width:Float;
	
	public var height:Float;
	
	public var autoSize(getAutoSize, setAutoSize):Bool;
	
	public var gapX(getGapX, setGapX):Float;
	
	public var gapY(getGapY, setGapY):Float;
}